Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Side project



  Scala Macros

This is the home page of project Kepler, an ongoing effort towards bringing compile-time metaprogramming to Scala. Our flavor of macros is reminiscent of Lisp macros, adapted to incorporate type safety and rich syntax. Unlike infamous C/C++ preprocessor macros, Scala macros: 1) are written in full-fledged Scala, 2) work with expression trees, not with raw strings, 3) cannot change syntax of Scala. You can learn more about our vision of metaprogramming from our talks. We propose to enrich Scala ...

   Scala,Macro,Efficiency,Maintainebility     2012-02-01 00:12:15

  Seven Ways to Boost Employee Morale

Do your employees drag themselves into work? Is office laughter a vague memory? Your employees' morale may need a boost.After all, low morale can lead to poor cooperation, low productivity and increased turnover -- and ultimately hinder a business from reaching its goals.Since employee morale can quickly build or break a company's success, effective leaders often keep a close eye on it and enlist simple and creative approaches to strengthen it. Here a few tactics to think about adapting for your...

   Employee,Working, active,Attitute,Passion,Encouragement     2011-10-09 07:37:36

  Signs that you're a bad programmer

1. Inability to reason about codeReasoning about code means being able to follow the execution path ("running the program in your head") while knowing what the goal of the code is.SymptomsThe presence of "voodoo code", or code that has no effect on the goal of the program but is diligently maintained anyway (such as initializing variables that are never used, calling functions that are irrelevant to the goal, producing output that is not used, etc.)Executing idempotent functions multiple times (...

   Sign,Programmer,Characteristics,Knowledge,Skill     2011-10-20 08:56:16

  Go Lacks Ternary Operators. Here Are Some Equivalents

If you were like me, a pure Java developer before writing Go, you must be wondering why Go doesn’t support the ternary operator like return a > 1 ? 0 : 1. Most mainstream languages like C and Java are supportive of ternary operators; languages like Python and Ruby support the simplified if-else one-liner, such as a = 0 if a > 1. However, Go is not among them. And it is not only about adding operators but also a concept of coding in a more convenient way, such as the ?: expression can...

   GOLANG,TERNARY OPERATOR     2022-12-09 19:51:32

  STOP WRITING GOOD CODE; START WRITING GOOD SOFTWARE

Good software trumps elaborate code. And unfortunately, you can’t usually have both. The real world has deadlines and ship dates. It’s a game of pick two:Ship on timeShip with elaborate codeShip with a fantastic productAlmost always, you should pick the first and the last when you’re building software applications for users (if you’re building API’s or open source libraries for other developers, then it’s a different story). Too often I have seen de...

   Good software,Standard,Good code,Deadline,Tradeoff     2011-11-20 06:56:06

  10 Things Beginner Developers Should Know

If you are a novice developer, it might be confusing about where you should start, because the field is broad and provides many options for you. There are so many questions you might ask yourself, such as “What programming language should I learn?” or “Should I also know front-end, or only back-end?” And I am sure there are much more than that. Well, in order for you to be able to start with an advantage against the others, I’ve decided to help you start your ...

   Advice,Software developer,Beginner     2011-12-29 01:41:04

  Three Simple Ways to Improve the Security of Your Web App

It seems like web app security has entered the public conscious recently, probably as a result of the press covering the activities of groups like Anonymous and incidents like security breaches at several CAs. Here are a couple of quick security tips to improve the security of your web apps. Think of these as low-hanging fruit, not as a substitute for thorough analysis of your app’s security. If there’s interest in this topic we can do more posts, too - let us know in the com...

   Web app,Security,X-FRAME-OPTIONS,SSL     2011-12-08 10:10:20

  Build your own internet search engine - Part 2

After having started to build my own internet search engine as described in a previous blog post, I now have read some papers and books about web search engine architecture and information retrieval to complete my hobby project. Here is a list of papers and books that I highly recommend to anybody who is interested in this topic: 1. Google: data structures and algorithms by Petteri Huuhka 2. The Anatomy of a Large-Scale Hypertextual Web Search Engine by the Google founde...

   Search engine,Paper,Database,Data structure     2011-12-22 08:25:59

  bcrypt: Safeguarding Passwords with Strong Hashing and Adaptive Security

Introduction In today's digital world, passwords play a crucial role in protecting personal privacy and information security. Passwords are the most commonly used means of authentication because they are simple yet effective. Password security is the cornerstone of cybersecurity and plays a fundamental role in safeguarding the information security of individuals and organizations. However, with the increasing frequency and complexity of cyberattacks, traditional password hashing algorithms like ...

   BCRYPT,SECURITY     2023-11-15 08:14:35

  Why Objective-C is Hard

As an active member of "The Internet" and vocal Objective-C coder, I get a lot of questions surrounding the language. They're often framed around thinking about learning the language or trying to write an app, but they also usually involve a phrase like "Objective-C looks really hard" or "what are all those minus signs about?" Both of these are pretty good questions, and I'd like to address why someone might be more hesitant to jump into iOS or OS X development compared to, say, Ruby or J...

   Objective-C,difficult,hard,reason,analysis     2012-03-07 05:11:28